#!/usr/bin/perl -w
# Descricao: Comunica Cielo
# Criado por: horacioibrahim at gmail
# Criado em: 30 ago 2011
#
 
use strict;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
#use Crypt::SSLeay;

#
$ENV{HTTPS_CA_DIR} = (defined $ENV{X509_CERT_DIR})?$ENV{X509_CERT_DIR}:"/etc/grid-security/certificates";
$ENV{HTTPS_CERT_FILE} = "$ENV{HOME}/bambae.crt";
$ENV{HTTPS_KEY_FILE}  = "$ENV{HOME}/bambae.key";

# Print SSL Debug stuff (omit this line if not debugging)
$ENV{HTTPS_DEBUG} = 1;


my $cookie_jar = HTTP::Cookies->new(
   file     => "cookies.lwp",
   autosave => 1,
);

my $userAgent = LWP::UserAgent->new();
$userAgent->agent('Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.04 (hardy) Firefox/3.0.7');

my $message = 'mensagem=<\?xml version="1.0" encoding="ISO-8859-1"\?>
<requisicao-transacao id="0" versao="1.1.0">
	<dados-ec>
		<numero>1006993069</numero>
		<chave>
			25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3
		</chave>
	</dados-ec>
	<dados-portador>
		<numero>4551870000000183</numero>
		<validade>201501</validade>
		<indicador>1</indicador>
		<codigo-seguranca>585</codigo-seguranca>
	</dados-portador>
	<dados-pedido>
		<numero>1503604566</numero>
		<valor>100</valor>
		<moeda>986</moeda>
		<data-hora>2011-09-11T17:24:11</data-hora>
		<idioma>PT</idioma>
	</dados-pedido>
	<forma-pagamento>
		<bandeira>visa</bandeira>
		<produto>2</produto>
		<parcelas>2</parcelas>
	</forma-pagamento>
	<url-retorno>http://www.bambae.com.br</url-retorno>
	<autorizar>2</autorizar>
	<capturar>false</capturar>
</requisicao-transacao>';

my $homologa = "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do";
my $producao = "https://ecommerce.cbmp.com.br/servicos/ecommwsec.do";

my $response = $userAgent->request(POST "$homologa",
Content_Type => 'text/xml',
Content => $message);

print $response->error_as_HTML unless $response->is_success;

print $response->as_string;
 
